package org.jeecg.modules.chg.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 缴费记录
 * @Author: jeecg-boot
 * @Date:   2022-02-21
 * @Version: V1.0
 */
@ApiModel(value="mws_t_chg_payments对象", description="缴费记录")
@Data
@TableName("mws_t_chg_payments")
public class ChgPayments implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
    @Excel(name = "商户订单号", width = 15)
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private java.lang.String id;
	/**序列号*/
//	@Excel(name = "序列号", width = 15)
    @ApiModelProperty(value = "序列号")
    private java.lang.String serialNo;
	/**预支付交易会话标识*/
	private String prepayId;
    /**预支付成功后交易ID*/
    @Excel(name = "微信支付订单号", width = 15)
	private String transactionId;
    /**支付时欠费ID*/
    private String arrearsIds;
    /**户号*/
    @Excel(name = "户号", width = 15)
    //@Dict(dictTable = "mws_t_arc_customers", dicText = "code", dicCode = "id")
    @ApiModelProperty(value = "户号")
    private java.lang.String accCode;
    /**户名*/
    @Excel(name = "户名", width = 15)
    @ApiModelProperty(value = "户名")
    private java.lang.String accName;
	/**缴费账号*/
//	@Excel(name = "缴费账号", width = 15)
    @ApiModelProperty(value = "缴费账号")
    private java.lang.String accountId;
	/**客户端ID*/
//	@Excel(name = "客户端ID", width = 15)
    @ApiModelProperty(value = "客户端ID")
    private java.lang.String clientId;
	/**代理ID*/
//	@Excel(name = "代理ID", width = 15)
    @ApiModelProperty(value = "代理ID")
    private java.lang.String agentId;
	/**财务日期*/
	@Excel(name = "财务日期", width = 15)
    @ApiModelProperty(value = "财务日期")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private java.lang.String financialDate;
	/**财务月份*/
	@Excel(name = "财务月份", width = 15)
    @ApiModelProperty(value = "财务月份")
    private java.lang.String financialMonth;
	/**预存缴费金额*/
//	@Excel(name = "预存缴费金额", width = 15)
    @ApiModelProperty(value = "预存缴费金额")
    private java.math.BigDecimal storedPaymentMoney;
    /**用预存缴费金额*/
//    @Excel(name = "用预存缴费金额", width = 15)
    @ApiModelProperty(value = "用预存缴费金额")
    private java.math.BigDecimal useStoredMoney;
	/**金额-实缴-实收*/
//	@Excel(name = "金额", width = 15)
    @ApiModelProperty(value = "金额")
    private java.math.BigDecimal money;

    /**预存前账户余额*/
    @Excel(name = "预存前账户余额", width = 15)
    @ApiModelProperty(value = "缴费前账户余额")
    private java.math.BigDecimal preMoney;
    /**预存后账户余额*/
    @Excel(name = "预存后账户余额", width = 15)
    @ApiModelProperty(value = "缴费后账户余额")
    private java.math.BigDecimal postMoney;

    /**付款*/
    @Excel(name = "实付款", width = 15)
    @ApiModelProperty(value = "实付款")
    private java.math.BigDecimal payFee;
    /**找零*/
//    @Excel(name = "找零", width = 15)
    @ApiModelProperty(value = "找零")
    private java.math.BigDecimal zeroFee;
	/**是否代收*/
//	@Excel(name = "是否代收", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否代收")
    private java.lang.Integer isProxy;
	/**代收单位*/
//	@Excel(name = "代收单位", width = 15)
    @ApiModelProperty(value = "代收单位")
    private java.lang.String feeProxyUnit;
	/**缴费批号*/
	@Excel(name = "缴费批号", width = 15)
    @ApiModelProperty(value = "缴费批号")
    private java.lang.String batchNo;
	/**代收的垃圾费-在杂项录入*/
	//@Excel(name = "代收的垃圾费", width = 15)
    //@ApiModelProperty(value = "代收的垃圾费")
    //private java.math.BigDecimal ljFee;
	/**状态 0 预支付 1 正常 2 取消*/
	@Excel(name = "状态", width = 15, dicCode = "fee_pay_status")
    @Dict(dicCode = "fee_pay_status")
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;


	/**缴费类型 1-收费,2-缴费,3-退费，4预存*/
//	@Excel(name = "缴费类型", width = 15, dicCode = "fee_target_type")
    @Dict(dicCode = "fee_target_type")
    @ApiModelProperty(value = "缴费类型")
    private java.lang.String feeTargetType;
    /**收费方式1,全部收费,2部分收费,3余额预存（收费剩下）*/
//    @Excel(name = "收费方式", width = 15, dicCode = "fee_toll_way")
    @Dict(dicCode = "fee_toll_way")
    @ApiModelProperty(value = "收费方式")
    private java.lang.String feeTollWay;
    /**支付方式1,窗口现金,2窗口扫码,3微信,4余额 5农行*/
    @Excel(name = "支付方式", width = 15, dicCode = "fee_pay_way")
    @Dict(dicCode = "fee_pay_way")
    @ApiModelProperty(value = "支付方式")
    private java.lang.String feePayWay;
    /**整收方式：实收，不扣余额 financial_date */
//    @Excel(name = "收费方式", width = 15, dicCode = "fee_whole_way")
    @Dict(dicCode = "fee_whole_way")
    @ApiModelProperty(value = "收费方式")
    private java.lang.String feeWholeWay;
    /**票据类型：收据，发票 */
//    @Excel(name = "票据类型", width = 15, dicCode = "bill_type_id")
    @Dict(dicCode = "bill_type_id")
    @ApiModelProperty(value = "票据类型")
    private java.lang.String billTypeId;
    /**打印方式： */
//    @Excel(name = "打印方式", width = 15, dicCode = "fee_print_way")
    @Dict(dicCode = "fee_print_way")
    @ApiModelProperty(value = "打印方式")
    private java.lang.String feePrintWay;
	/**同步标识 与微信商户平台是否同步-核销*/
//	@Excel(name = "同步标识", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "同步标识")
    private java.lang.Integer syncFlag;
	/**备注*/
//	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
	/**最后同步时间*/
//	@Excel(name = "最后同步时间", width = 15)
    @ApiModelProperty(value = "最后同步时间")
    private java.lang.String syncDatetime;
	/**创建人*/
    @Excel(name = "收费员", width = 15)
    @ApiModelProperty(value = "收费员")
    private java.lang.String createBy;
	/**操作时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "操作时间")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
	/**部门编码*/
    @ApiModelProperty(value = "部门编码")
    private java.lang.String sysOrgCode;
	/**是否删除*/
//	@Excel(name = "是否删除", width = 15)
    @ApiModelProperty(value = "是否删除")
    private java.lang.Integer delFlag;
	/**租户网点*/
//	@Excel(name = "租户网点", width = 15)
    @ApiModelProperty(value = "租户网点")
    private java.lang.Integer tenantId;


    /**地址*/
	private transient String address;
	private transient String createTimeBegin;
	private transient String createTimeEnd;
	private transient String paymentId;

}
